package com.evoplory.statistics;

import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        //输出提示信息
        System.out.println("欢迎使用网页访问统计系统");
        System.out.println("当你访问一个页面时，系统将会自动记录你访问该页面的时间及次数并将其显示");
        System.out.println("您还可以查看总访问量及平均访问量，获取访问量排行榜等");
        System.out.println();

        //创建网页对象并预设页面基本信息（以蓝奏云官网为例）
        Web web1 = new Web("https://www.lanzoui.com/", 0);
        Web web2 = new Web("https://www.lanzouj.com/", 0);
        Web web3 = new Web("https://www.lanzouk.com/", 0);
        Web web4 = new Web("https://www.lanzoul.com/", 0);
        Web web5 = new Web("https://www.lanzoum.com/", 0);

        //将页面信息添加到集合中存储
        ArrayList<Web> list = new ArrayList<>();
        list.add(web1);
        list.add(web2);
        list.add(web3);
        list.add(web4);
        list.add(web5);

        //创建访问时间对象
        Date date1 = new Date("暂未访问");
        Date date2 = new Date("暂未访问");
        Date date3 = new Date("暂未访问");
        Date date4 = new Date("暂未访问");
        Date date5 = new Date("暂未访问");

        //将访问时间添加到集合信息中存储
        ArrayList<Date> dateList = new ArrayList<>();
        dateList.add(date1);
        dateList.add(date2);
        dateList.add(date3);
        dateList.add(date4);
        dateList.add(date5);


        //展示所有预设URL，便于用户输入
        SystemTool.url(list);


        //用户开始访问界面
        //输出提示信息
        System.out.println("接下来请输入URL以访问对应页面");
        System.out.println("输入“结束”以停止输入");
        System.out.print("请输入: ");


        //开始输入
        while (true) {
            //保存用户输入
            Scanner sc = new Scanner(System.in);
            String s = sc.nextLine();

            //判断是否结束
            if (s.equals("结束")) {
                break;
            }

            //调用访问页面方法并输出访问情况
            SystemTool.match(list,dateList,s);

            //输出下一次输入提示信息
            System.out.println("请输入: ");

        }


        //访问结束，选择查看其他模块或退出
        System.out.println("已结束访问页面，请选择查看其他模块或关闭系统");
        System.out.println("输入“排行榜”以查看访问量排行榜");
        System.out.println("输入“总访问量”以查看所有页面的总访问量");
        System.out.println("输入“平均访问量”以查看所有页面的平均访问量");
        System.out.println("输入“清空统计”以清空所有页面的访问统计");
        System.out.println("输入“结束”以关闭系统");


        //开始输入
        while(true) {
            //保存用户输入
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入: ");
            String s = sc.nextLine();

            //选择模块
            if(s.equals("排行榜")){
                //调用访问量排行榜方法
                SystemTool.rank(list,dateList);

            } else if (s.equals("总访问量")) {
                //调用总访问量方法
                SystemTool.display(list,dateList);

            } else if (s.equals("平均访问量")) {
                //调用平均访问量方法
                SystemTool.average(list);

            } else if (s.equals("清空统计")) {
                //调用清空统计方法
                SystemTool.delete(list,dateList);

            } else if (s.equals("结束")) {
                //结束循环
                break;

            } else{
                //输入错误，输出提示信息
                System.out.println("输入有误，请重新输入！");

            }

            //判断是否继续查看其他模块
            System.out.println("请继续输入以查看其他模块或关闭系统");


        }


        //输出结束信息
        System.out.println("感谢您使用本系统！");


    }

}
